Many types of electronic test instruments can be controlled from a computer to create a computerized test system. The control of these instruments is accomplished by sending the instruments commands which consist of characters, typically in the ASCII character set. The command characters form words which are understandable by engineers and programmers in order to make the programming of the instruments easier.
In an automated test system, the instrument commands are embedded within the programming statements of a conventional programming language used to create test software. The conventional programming language statements may be compiled or interpreted, however, the instrument commands remain in their original, human readable form as character strings within the resulting test software. During processing of the test software, these character strings are sent to an instrument to cause it to perform some test function, and the results, usually in character string form, are returned to the test software.
When programmability was first introduced into test and measurement instruments, the instrument commands were cryptic and often the data sent and received from the instrument was in a computer readable, binary, form, rather that in a displayable format such as ASCII. This binary form, however, was difficult to read and interpret by the test design engineer, so a more readable, character oriented, form was adopted.
In order to use the character oriented form, however, the program commands and data must be parsed by the instrument and converted into a machine usable form. Also, after an instrument performs the requested function, any resulting data contained in the instrument would be converted back into a character oriented form before it is returned to the computer that requested the operation. When the test software in the computer must process this resulting data, rather than simply display it to a user, the data must be re-converted back into a machine usable form before the processing can be performed.
While all this parsing, conversion and re-conversion takes processing time, and thus degrades the performance of the test system, it has been considered necessary in order to allow the commands and data to remain in a human readable form.
In a typical test environment, many instrument operations are repeated over a long period of time. Thus each time an operation is performed, the program command interpretation and the data conversion must be repeated for each operation. For example if an instrument is programmed to take several thousand measurements--a very common occurrence--the measurement command and resulting data would be interpreted and converted several thousand times.
Often instruments are connected over a serial interface, such as RS-232, or an instrument bus, such as the IEEE 488 bus. Because of the speed of these busses, instrument performance is significantly affected by the amount of data interchanged with an instrument. Although human readable ASCII characters improve the ability to understand the commands and data, performance is limited by interchanging commands and data in this format.
There is need in the art then for a system that can reduce the time needed to perform an operation, while maintaining the human readability of the instrument programming commands and data. Another need in the art is for a system that improves the efficiency of moving information from the computer system to and from the instrument. A further need is for a system that avoids command interpretation and data conversion of each command sent to an instrument. A still further need is for such a system to avoid converting data that is sent from an instrument back to a computerized test system. The present invention meets these and other needs.